// global.setImmediate()
// 等到下一个事件队列开始第一个异步执行
setImmediate(() => {
  console.log('global -> setImmediate');
});

// global.setTimeout()
// 当前事件队列执行完毕后 开始一个异步任务
setTimeout(() => {
  console.log('global -> setTimeout');
}, 0);

// process.nextTick()
// 在当前事件队列的最后一个执行
// 注意不要魂环调用或者执行长时间任务
// 避免阻塞后面的任务
process.nextTick(() => {
  console.log('process -> next tick');
});


// output

// precess next tick
// global -> setTimeout
// global -> setImmediate


// 大部分情况都使用setImmediate即可